import csv

# 输入文件和输出文件的路径
input_file_path = r'D:\Project\FootShopping\Product-Recommended\data\ratings.csv'
output_file_path =r'D:\Project\FootShopping\Product-Recommended\data\ratings1.csv'

# 使用csv.reader读取CSV文件
with open(input_file_path, 'r') as csvfile:
    csvreader = csv.reader(csvfile)
    # 初始化一个空列表来存储过滤后的数据
    filtered_data = []
    # 遍历CSV文件中的每一行
    for i, row in enumerate(csvreader):
        # 检查是否已经达到所需的行数
        if i == 15000:
            break
        # 尝试将movieId转换为整数
        try:
            movie_id = int(row[1])
            # 保留movieId不大于223的数据
            if movie_id <= 223:
                filtered_data.append(row)
        except ValueError:
            # 如果转换失败（例如，行格式不正确），则跳过该行
            continue

# 写入过滤后的数据到新的CSV文件
with open(output_file_path, 'w', newline='') as csvfile:
    csvwriter = csv.writer(csvfile)
    # 遍历过滤后的数据列表并写入文件
    for row in filtered_data:
        csvwriter.writerow(row)

print(f'前15000条数据中movieId不大于223的数据已被写入到{output_file_path}')